代码在github,下载后有Android纯Java代码,也有纯C++代码。

Java工程可以用IDEA打开编译然后安装apk。

C++代码需要先进入一个工程的jni目录,运行ndk-build编译出动态库。然后到有AndroidManifest.xml文件的目录下,用IDEA导入此工程,然后编译生成apk文件再安装到手机中。

使用模拟器的例子需要使用CMake+本地编译器编译,且需要安装PC端的OpenGL ES SDK。我安装了高通的Adreno SDK,但是用VS 2015编译成功后运行程序时崩溃,不知什么原因。Adreno号称支持OpenGL ES 3.0, 但是lib里只有2.0的。不知道是不是OpenGL ES版本不对造成的崩溃。

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ cd opengles3-book/Chapter_2/Hello_Triangle/Android/jni
$ ndk-build
[armeabi] Compile thumb : Hello_Triangle <= esShader.c
[armeabi] Compile thumb : Hello_Triangle <= esShapes.c
[armeabi] Compile thumb : Hello_Triangle <= esTransform.c
[armeabi] Compile thumb : Hello_Triangle <= esUtil.c
[armeabi] Compile thumb : Hello_Triangle <= esUtil_Android.c
[armeabi] Compile thumb : Hello_Triangle <= Hello_Triangle.c
[armeabi] Compile thumb : android_native_app_glue <= android_native_app_glue.c
[armeabi] StaticLibrary : libandroid_native_app_glue.a
[armeabi] SharedLibrary : libHello_Triangle.so
[armeabi] Install : libHello_Triangle.so => libs/armeabi/libHello_Triangle.so

$ cd ../
$ ls
-rw-rw-r-- 1 melody melody 615 10月 7 17:57 Android.iml
-rw-rw-r-- 1 melody melody 989 10月 7 17:45 AndroidManifest.xml
drwxrwxr-x 2 melody melody 4096 10月 7 17:55 jni

IDEA打开这个工程,然后编译后在out目录中生成
./out/production/Android/Android.apk
./out/production/Android/Android.unaligned.apk
安装apk文件到手机即可。
运行结果如下:
HelloTriangle